`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    14:23:26 11/19/2020 
// Design Name: 
// Module Name:    instructionSplitter 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module instructionSplitter(
    input [31:0] instruction,
    output [5:0] opCode,
    output [5:0] func,
    output [4:0] rs,
    output [4:0] rt,
    output [4:0] rd,
    output [15:0] imm16,
    output [25:0] imm26,
    output [4:0] shamt
    );
	assign opCode = instruction[31:26];
	assign func = instruction[5:0];
	assign rs = instruction[25:21];
	assign rt = instruction[20:16];
	assign rd = instruction[15:11];
	assign imm16 = instruction[15:0];
	assign imm26 = instruction[25:0];
	assign shamt = instruction[10:6];
	

endmodule
